home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacUser Mac Bin 40
/
MACUSER-MACBIN40A-1997-03.ISO.7z
/
MACUSER-MACBIN40A-1997-03.ISO
/
特集⁄オンラインソフト
/
ゲーム&アミューズメント
/
アミューズメント
/
Citron 1.07J⁄E
/
収録XCMD説明&サンプルスタック
/
XCMD⁄XFCN説明書
/
Jasmine説明書
< prev
next >
Wrap
Text File
|
1996-11-12
|
10KB
|
169 lines
Jasmine XFCNは、HyperTalk上で文字列を扱う際に、おバカなHyperTalkの日本語インプリメントを回避して、確実に操作を行うことを目的としたXFCNです。
Jasmine XFCNを用いることで、バージョンや英語版/日本語版に関わらず、常に同じ文字列操作環境を得ることが可能です。
※2バイト文字についてはシフトJISを想定していますので、他の2バイト文字コードでは不具合が出る可能性があります
Jasmine XFCNは、落合 徹(ちゃい)が著作権を所有しています。自作のスタックなどに利用する場合は、当ドキュメントの「使用上の注意」の項を良く読んでからご使用ください。
なお、自作のスタック等にインストールする場合は、CitronをHomeスタックへインストールするか、ResEdit等のリソース関連ツールでJasmine XFCNをコピーしてください。
【Jasmine XFCN】(Version 1.70 CodeWarrior Gold10使用 1996/11)
0.更新履歴
(Version 1.70 CodeWarrior Gold10使用 1996/11)
検索した結果が何行目に含まれているかを返す機能を追加
(Version 1.60 CodeWarrior Gold9使用 1996/6)
Power Macintoshネイティブのバージョンも新たに作成
Citron添付用に、名称を今までのJTextからJasmineに変更
一般初公開バージョン
(Version 1.58 CodeWarrior Gold7使用 1996/3作成)
日本語文字列検索ルーチンで、検索文字列に1バイトだけ設定した場合に、日本語処理が働かないというバグを修正
(Version 1.40 THINK C 7.0使用 1995/10作成)
文字数の異なる文字列の置換等、大幅に機能追加
(Version 1.00 THINK C 5.0.4使用 1994/6作成)
初回バージョン
1.使い方
以下に使い方を紹介します。
Jasmineは以下の機能を持っています。
・1バイトコードの一括置換
・文字列の置換
・文字数を数える
・文字列中から指定文字列を探し出し、その位置を返す
・文字列中から指定文字列を探し出し、その行位置を返す
・アルファベットを大文字/小文字に統一する
・文字列中から指定範囲を抜き出す
・2つの文字列の比較
個別に解説します。
−1バイトコードの一括置換
【形式1】 Jasmine(TransCode,テキスト,変換前コード,変換後コード)
【形式2】 Jasmine(JTransCode,テキスト,変換前コード,変換後コード)
【解説】
テキストに与えた文字列中の、変換前コード(1バイトに限る)を全て変換後コード(1バイト)に置き換えます。それぞれのコードは、文字で与えてください。例えば、改行コードを与えるときはHyperTalk定数のreturnを、ベルコード($07)を与えるときはnumToChar関数を用いて、numToChar(7)と言うように与えます。形式2の場合は、コードの検索に日本語文字区切りを用い、2バイトコード中の1バイトが変換前コードに合致しても無視します。
−文字列の置換
【形式1】Jasmine(Change,テキスト,検索文字列,置き換え文字列)
【形式2】Jasmine(Replace,テキスト,検索文字列,置き換え文字列)
【形式3】Jasmine(JChange,テキスト,検索文字列,置き換え文字列)
【形式4】Jasmine(JReplace,テキスト,検索文字列,置き換え文字列)
【解説】
テキストに与えた文字列中の、先頭から検索して最初に現れた検索文字列を、置き換え文字列と置き換えます。検索文字列と置き換え文字列の長さが異なっていても構いません。最初に現れた文字列を置換するだけなので、テキスト中の全ての検索文字列を置き換える場合は、repeat構文等を用いて繰り返し本機能を実行する必要があります。形式1〜4までの違いは、「J」系統が日本語文字区切りを用います。「change」系統は、検索時にアルファベットの大/小文字を厳密に区別します。
−文字数を数える
【形式】Jasmine(Chars,テキスト)
【解説】
テキストに与えた文字列の文字数を返します。2バイトコードは1文字として数えます。文字列のバイト数を数えたいときは、HyperTalkのlength関数を使用してください。
−文字列中から指定文字列を探し出し、その位置を返す
【形式1】Jasmine(find,テキスト,検索文字列)
【形式2】Jasmine(search,テキスト,検索文字列)
【形式3】Jasmine(jfind,テキスト,検索文字列)
【形式4】Jasmine(jsearch,テキスト,検索文字列)
【解説】
テキストに与えた文字列中から、検索文字列を探し出してその位置を返します。見つからなかった場合は0を返します。形式1〜4間での違いは、「J」系統が日本語文字区切りを採用し、文字単位で位置を返します。形式1、2の方は、バイト単位で位置を返します。「search」系統は、検索時にアルファベットの大/小文字を厳密に区別します。
−文字列中から指定文字列を探し出し、その行位置を返す
【形式1】Jasmine(lfind,テキスト,検索文字列)
【形式2】Jasmine(lsearch,テキスト,検索文字列)
【形式3】Jasmine(ljfind,テキスト,検索文字列)
【形式4】Jasmine(ljsearch,テキスト,検索文字列)
【解説】
テキストに与えた文字列中から、検索文字列を探し出してそれが何行目かを返します。見つからなかった場合は0を返します。形式1〜4間での違いは、「J」系統が日本語文字区切りを採用し、文字単位で位置を返します。形式1、2の方は、バイト単位で位置を返します。「search」系統は、検索時にアルファベットの大/小文字を厳密に区別します。つまり、前掲の「文字列中から指定文字列を探し出し、その位置を返す」の4つの形式と同じです。違いは文字やバイト数で位置を返すのではなく、行で返すということだけです。
−アルファベットを大文字/小文字に統一する
【形式1】Jasmine(toUpper,テキスト)
【形式2】Jasmine(toLower,テキスト)
【解説】
テキストに与えた文字列中のアルファベットを、大文字(形式1)あるいは小文字(形式2)に統一します。テキスト中の日本語文字列には影響しません。
−文字列中から指定範囲を抜き出す
【形式1】Jasmine(pick,テキスト,開始バイト位置,取り出すバイト数)
【形式2】Jasmine(jpick,テキスト,開始文字位置,取り出す文字数)
【形式3】Jasmine(take,テキスト,開始バイト位置,取り出すバイト数)
【解説】
テキストに与えられた文字列中から、指定範囲を取り出して返します。開始位置は、テキスト先頭を1とします(HyperTalkによる文字列の扱いと同じ)。形式2の場合、2バイトコードを1文字として数えます。形式3では、取り出した結果の最終バイトが日本語文字(すなわち2バイトコード)の1バイト目の場合に限り、最終バイトを削除します。
テキストの終端を越えた範囲指定が行われた場合、開始位置からテキストの終わりまでの文字列が返されます。開始位置がテキストの終端を越えていた場合は、空文字列が返されます。
−2つの文字列の比較
【形式1】Jasmine(Compare,テキスト,テキスト2)
【形式2】Jasmine(match,テキスト,テキスト2)
【解説】
テキストとテキスト2に与えた文字列を比較し、一致した場合にtrueを返します。形式1の場合は、比較時にアルファベットの大/小文字を厳密に区別します。
ここまでの使用でJasmine呼び出し時に返される可能性のあるエラーメッセージは以下の通りです。エラーが起きた場合は、以下のリストの通り、先頭に「Error:」が付加されています。
Error:Unknown command! (理解できないコマンドが指定された)
Error:Memory allocate failed! (メモリーが確保できなかった)
Error:Work memory allocate failed! (メモリーが確保できなかった)
Error:Return memory allocate failed! (メモリーが確保できなかった)
Error:Missing parameters (パラメーターが無い)
Error:Parameter structure invalid! (パラメーターの構成に誤りがある)
Error:Operation text missing! (操作対象のテキストが与えられなかった※emptyを与えた場合は除く)
Error:Search string is empty! (検索用の文字列が与えられなかった※emptyを与えた場合は除く)
※Jasmineは、長さの異なる文字列の置換や、アルファベットの大小比較を無視する場合に、内部的に大量のメモリー(テキストの長さの2〜3倍)を必要とする場合があります。大きなテキストを定常的に扱う場合は、HyperCardへの割当メモリーを増やしてください。
8.XCMDバージョン
以下の方法で、Jasmineのバージョンを調べることができます。
Jasmine(XCMDVersion)
the resultによって以下の書式のメッセージが取り出せます。
Jasmine XFCN Version *.** by -Chai-
Jasmine XFCN PPCVersion *.** by -Chai- (Power Macintoshバージョンの場合)
4ワード目(*.**と表わしたところ)に必ずバージョンナンバーが格納されているので、チェックする場合はそれを対象にしてください。
9.Jasmineの使用上の注意
JText XFCN 1994 (C) Copyright ちゃい=Chai=
Jasmine XFCN 1996 (C) Copyright 落合 徹(ちゃい)
当パッケージを使用してトラブルが起こった際に、本項を読んでいないといった理由は一切受け付けることはできません。内容主旨を理解したうえでご使用ください。
再配付を行なう様な場合は許可を取ってください(店頭での配付や、他ネットでの配付も含む。有料・無料どちらの場合もお願いします)。
個人的使用、およびそれに準ずる範囲内を越えた利用の際は、次項の注意をよく理解した上で使用してください。
当パッケージを使ったことによって生じた直接、間接の損害については、権利者および配付者は一切の責を負わないこととします。あくまで使用者の責任の範囲で運用を行なってください。
10.XCMD/XFCNの使用上の注意
当XCMD/XFCNの著作権その他の権利は落合 徹(ちゃい)が所有しています。無断で外部使用することを禁じます。この項の説明はstart usingなどで間接的にXCMD/XFCNを使用する場合(Citronでの利用)も、同じ扱いとします。
Citronの登録ユーザーの方は、個人的使用、およびそれに準ずる範囲内で、自由にご使用ください。
PDSその他等で配付する場合は以下の通りとなります。いずれの場合も、配布者はCitronの登録ユーザーである必要があります。
・フリーウエアに収録して配付の場合は、XCMD使用料(配付ソフト一種につき¥1000)をいただきます。
・シェアウエアもしくはそれに準ずる形式の配付の場合は(あるいはフリーウエアでも有償にて配付する場合)、XCMD使用料(配付ソフト一種につき¥5000)をいただきます。
・業務目的で使用する場合、利益を生む配付(市販も含む)を行なう場合は別途ご相談ください。XCMD使用料およびライセンス料をいただきます。
・収録せずに利用する場合、すなわちstart using等でCitronに収録されたXCMD/XFCNを呼び出す場合は、上3項目に該当しません(つまり、無料ですし、連絡の必要もありません。配布者がCitronの登録ユーザーである必要はあります)。ただし、当然ながらXCMD/XFCNを使用するソフト(配布ソフト)のユーザーがCitronの登録ユーザーである必要があります。
・当XCMD/XFCNを収録したフリーウエア/シェアウエア(もしくはこれらに準ずる形式の配布形態)を雑誌等の媒体にて配布する場合、シェアウエアもしくはそれに準ずる形式の配付とみなして、配布ソフト作成者あるいは配布者(雑誌等の媒体)より、XCMD使用料(配付ソフト一種につき¥5000)をいただきます。ただし、シェアウエアもしくはそれに準ずる形式の配付として既にXCMD使用料をいただいている場合は、二重に支払う必要はありません。
連絡を取る場合は、2日〜1ヵ月の余裕をみておいてください。
無断使用が発覚した場合、賠償請求させていただくことがあります。
どの場合もドキュメント等に、以下の項目を記載してください。
文章スタイル等は変更なさってもかまいません。
・Jasmine XFCNの著作権その他の権利は落合 徹(ちゃい)(Nifty:QGA01617)が所有しています。
・Jasmine XFCNを自作スタック等に使用なさりたい場合は、Nifty-Serve FMACHYPよりCitronスタックを入手し、登録した上でご利用ください。
・Jasmine XFCNを使ったことによって生じた直接、間接の損害については、XCMD作者および配付者は一切の責を負わないこととします。あくまで使用者の責任の範囲で運用を行なってください。
・無断使用が発覚した場合、賠償請求させていただくことがあります。
動作チェック環境
漢字Talk 7.5.3
HyperCard 2.3J
QuickTime 2.5E
Power Macintosh 8100/80AV,Macintosh LC630,Power Macintosh PowerBook 5300cs
漢字Talk7以降なら、動作するものと思われます。